home *** CD-ROM | disk | FTP | other *** search
- function IsControlRunning(Control: IUnknown): Boolean;
- var
- OleObj: IOleObject;
- Site: IOleClientSite;
- begin
- Result := True;
- // Get control's IOleObject pointer. From that, get container's
- // IOleClientSite. From that, get IAmbientDispatch.
- if (Control.QueryInterface(IOleObject, OleObj) = S_OK) and
- (OleObj.GetClientSite(Site) = S_OK) and (Site <> nil) then
- Result := (Site as IAmbientDispatch).UserMode;
- end;